package com.tbit.uqbike.object.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.tbit.uqbike.constant.CsvConstant;
import com.tbit.uqbike.webmanager.util.csv.annotations.Csv;
import com.tbit.uqbike.webmanager.util.csv.annotations.Sum;
import lombok.Data;

import java.util.Date;

/**
 * 购卡记录
 *
 * @Author:BUGTian
 * @DATE: 2022/11/12
 */
@Data
public class PayCardLog {
    /**
     * 主键
     */
    private Long payCardId;
    /**
     * 用户id
     */
    private Integer userId;
    /**
     * 用户手机号码
     */
    @Csv(name = "用户手机号码", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String userPhone;
    /**
     * 姓名
     */
    @Csv(name = "姓名", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String userName;
    /**
     * 运营区域id
     */
    private Integer accountId;
    /**
     * 品牌id
     */
    private Integer brandId;
    /**
     * 运营区域名称
     */
    @Csv(name = "运营区域名称", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String accountName;
    /**
     * 订单号
     */
    @Csv(name = "订单号", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String orderNO;
    /**
     * 业务类型1：用户充余额,2：用户退余额,3：人工充余额,4：人工扣余额,5：骑行消费余额,6：充值结束订单,7：欠款补交,8：骑行退款,9：用户充押金,10：用户退押金,11：人工充押金,12：人工扣押金
     */
    @Csv(name = "业务类型", keys = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, values = {"用户充余额", "用户退余额", "人工充余额", "人工扣余额", "骑行消费余额", "充值结束订单", "欠款补交", "骑行退款", "用户充押金", "用户退押金", "人工充押金", "人工扣押金"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private Integer businessType;
    /**
     * 卡名称
     */
    @Csv(name = "卡名称", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String cardName;
    /**
     * 卡类型 1：骑行卡，2：免押卡，3：会员卡，4：优惠券套餐
     */
    @Csv(name = "卡类型", keys = {"1", "2", "3", "4"}, values = {"骑行卡", "免押卡", "会员卡", "优惠券套餐"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private Integer cardType;
    /**
     * 时间类型0：天，1：周，2：月，3：季，4：半年，5：年
     */
    @Csv(name = "时间类型", keys = {"0", "1", "2", "3", "4", "5"}, values = {"天", "周", "月", "季", "半年", "年"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private Integer timeType;
    /**
     * 支付平台1：微信，2：支付宝，3：汇付
     */
    @Csv(name = "支付平台", keys = {"1", "2", "3"}, values = {"微信", "支付宝", "汇付"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private Integer payPlatform;
    /**
     * 订单金额
     */
    @Sum
    @Csv(name = "订单金额", type = CsvConstant.CSV_TYPE_WITHOUT)
    private double orderMoney;
    /**
     * 购买时间
     */
    @Csv(name = "购买时间", type = CsvConstant.CSV_TYPE_WITHOUT)
    private Date payTime;
    /**
     * 备注
     */
    private String remark;

    /**
     * 统计的数量
     */
    @TableField(exist = false)
    private Integer totalCount;

}
